[INFO] cloning repository https://github.com/frezcirno/mimalloc-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/frezcirno/mimalloc-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b5518d8f9da15859d13fff019124ff118f82b0e2
[INFO] checking frezcirno/mimalloc-rs against try#3f7e3b175fda7edbf81081bcd9b91b73f2f7993f for pr-156157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/frezcirno/mimalloc-rs
[INFO] finished tweaking git repo https://github.com/frezcirno/mimalloc-rs
[INFO] tweaked toml for git repo https://github.com/frezcirno/mimalloc-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/frezcirno/mimalloc-rs on toolchain 3f7e3b175fda7edbf81081bcd9b91b73f2f7993f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/frezcirno/mimalloc-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking frezcirno/mimalloc-rs against try#3f7e3b175fda7edbf81081bcd9b91b73f2f7993f for pr-156157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/frezcirno/mimalloc-rs
[INFO] finished tweaking git repo https://github.com/frezcirno/mimalloc-rs
[INFO] tweaked toml for git repo https://github.com/frezcirno/mimalloc-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/frezcirno/mimalloc-rs on toolchain 3f7e3b175fda7edbf81081bcd9b91b73f2f7993f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/frezcirno/mimalloc-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v2.0.89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e68a77773fb6b3e2b5aaad7eafb4370d5e77a0fd4b3cc08d39a250be53026c9c
[INFO] running `Command { std: "docker" "start" "-a" "e68a77773fb6b3e2b5aaad7eafb4370d5e77a0fd4b3cc08d39a250be53026c9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e68a77773fb6b3e2b5aaad7eafb4370d5e77a0fd4b3cc08d39a250be53026c9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e68a77773fb6b3e2b5aaad7eafb4370d5e77a0fd4b3cc08d39a250be53026c9c", kill_on_drop: false }`
[INFO] [stdout] e68a77773fb6b3e2b5aaad7eafb4370d5e77a0fd4b3cc08d39a250be53026c9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3f7e3b175fda7edbf81081bcd9b91b73f2f7993f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a711efe72895d2f59b0c5c32569f0abc123d2d63e658408d8fbbe6b506871e68
[INFO] running `Command { std: "docker" "start" "-a" "a711efe72895d2f59b0c5c32569f0abc123d2d63e658408d8fbbe6b506871e68", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]     Checking mimalloc_rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `mi_assert_expensive` and `mi_assert`
[INFO] [stdout]  --> src/internal.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::{mi_assert, mi_assert_expensive, mi_assert_internal};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mi_assert_expensive` and `mi_assert`
[INFO] [stdout]  --> src/internal.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::{mi_assert, mi_assert_expensive, mi_assert_internal};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]    --> src/internal.rs:231:36
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub(crate) unsafe fn mi_block_next(page: *const MiPage, block: *const MiBlock) -> *const MiBlock {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]    --> src/internal.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     page: *const MiPage,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]    --> src/internal.rs:231:36
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub(crate) unsafe fn mi_block_next(page: *const MiPage, block: *const MiBlock) -> *const MiBlock {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]    --> src/internal.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     page: *const MiPage,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiHeapArea` is never constructed
[INFO] [stdout]   --> src/lib.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) struct MiHeapArea {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MiBlockVisitFun` is never used
[INFO] [stdout]   --> src/lib.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) type MiBlockVisitFun = fn(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_malloc_small` is never used
[INFO] [stdout]   --> src/alloc.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | unsafe fn mi_malloc_small(size: usize) -> *mut u8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_zalloc_small` is never used
[INFO] [stdout]   --> src/alloc.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | unsafe fn mi_zalloc_small(size: usize) -> *mut u8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_zalloc` is never used
[INFO] [stdout]   --> src/alloc.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub unsafe fn mi_heap_zalloc(heap: *mut MiHeap, size: usize) -> *mut u8 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_zalloc` is never used
[INFO] [stdout]   --> src/alloc.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub unsafe fn mi_zalloc(size: usize) -> *mut u8 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_usable_size` is never used
[INFO] [stdout]    --> src/alloc.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub unsafe fn mi_usable_size(p: *mut u8) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_collect` is never used
[INFO] [stdout]    --> src/heap.rs:195:11
[INFO] [stdout]     |
[INFO] [stdout] 195 | unsafe fn mi_heap_collect(heap: *mut MiHeap, force: bool) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_collect` is never used
[INFO] [stdout]    --> src/heap.rs:206:11
[INFO] [stdout]     |
[INFO] [stdout] 206 | unsafe fn mi_collect(force: bool) {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_get_default` is never used
[INFO] [stdout]    --> src/heap.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub(crate) fn mi_heap_get_default() -> *mut MiHeap {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_get_backing` is never used
[INFO] [stdout]    --> src/heap.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn mi_heap_get_backing() -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_new` is never used
[INFO] [stdout]    --> src/heap.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn mi_heap_new() -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_reset_pages` is never used
[INFO] [stdout]    --> src/heap.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 | unsafe fn mi_heap_reset_pages(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_free` is never used
[INFO] [stdout]    --> src/heap.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | unsafe fn mi_heap_free(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_destroy_pages` is never used
[INFO] [stdout]    --> src/heap.rs:313:11
[INFO] [stdout]     |
[INFO] [stdout] 313 | unsafe fn mi_heap_destroy_pages(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_destroy` is never used
[INFO] [stdout]    --> src/heap.rs:323:4
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn mi_heap_destroy(heap: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_absorb` is never used
[INFO] [stdout]    --> src/heap.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn mi_heap_absorb(heap: *mut MiHeap, from: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_delete` is never used
[INFO] [stdout]    --> src/heap.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn mi_heap_delete(heap: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_of_block` is never used
[INFO] [stdout]    --> src/heap.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn mi_heap_of_block(p: *const MiBlock) -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_contains_block` is never used
[INFO] [stdout]    --> src/heap.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn mi_heap_contains_block(heap: *mut MiHeap, p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_page_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn mi_heap_page_check_owned(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn mi_heap_check_owned(heap: *mut MiHeap, p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:475:4
[INFO] [stdout]     |
[INFO] [stdout] 475 | fn mi_check_owned(p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiHeapAreaEx` is never constructed
[INFO] [stdout]    --> src/heap.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | struct MiHeapAreaEx {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_area_visit_blocks` is never used
[INFO] [stdout]    --> src/heap.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn mi_heap_area_visit_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MiHeapAreaVisitFun` is never used
[INFO] [stdout]    --> src/heap.rs:573:6
[INFO] [stdout]     |
[INFO] [stdout] 573 | type MiHeapAreaVisitFun = fn(heap: *mut MiHeap, area: *mut MiHeapAreaEx, arg: *mut u8) -> bool;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_areas_page` is never used
[INFO] [stdout]    --> src/heap.rs:575:4
[INFO] [stdout]     |
[INFO] [stdout] 575 | fn mi_heap_visit_areas_page(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_areas` is never used
[INFO] [stdout]    --> src/heap.rs:605:4
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn mi_heap_visit_areas(heap: *mut MiHeap, visitor: *mut MiHeapAreaVisitFun, arg: *mut u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiVisitBlocksArgs` is never constructed
[INFO] [stdout]    --> src/heap.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | struct MiVisitBlocksArgs {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_area_visitor` is never used
[INFO] [stdout]    --> src/heap.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 | fn mi_heap_area_visitor(heap: *mut MiHeap, xarea: *mut MiHeapAreaEx, arg: *mut u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_blocks` is never used
[INFO] [stdout]    --> src/heap.rs:648:4
[INFO] [stdout]     |
[INFO] [stdout] 648 | fn mi_heap_visit_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_random_shuffle` is never used
[INFO] [stdout]    --> src/init.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn mi_random_shuffle(mut x: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_random_init` is never used
[INFO] [stdout]    --> src/init.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub(crate) fn mi_random_init(seed: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_is_default` is never used
[INFO] [stdout]   --> src/internal.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) fn mi_heap_is_default(heap: *const MiHeap) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_is_backing` is never used
[INFO] [stdout]   --> src/internal.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) fn mi_heap_is_backing(heap: *const MiHeap) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_get_free_small_page` is never used
[INFO] [stdout]   --> src/internal.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn mi_get_free_small_page(size: usize) -> *mut MiPage {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_has_free` is never used
[INFO] [stdout]    --> src/internal.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub(crate) unsafe fn mi_page_has_free(page: *mut MiPage) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_all_used` is never used
[INFO] [stdout]    --> src/internal.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) unsafe fn mi_page_all_used(page: *mut MiPage) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MAX_SLICE_SHIFT` is never used
[INFO] [stdout]    --> src/page.rs:348:7
[INFO] [stdout]     |
[INFO] [stdout] 348 | const MI_MAX_SLICE_SHIFT: usize = 6; // At most 64 slices
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MAX_SLICES` is never used
[INFO] [stdout]    --> src/page.rs:349:7
[INFO] [stdout]     |
[INFO] [stdout] 349 | const MI_MAX_SLICES: usize = 1 << MI_MAX_SLICE_SHIFT;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MIN_SLICES` is never used
[INFO] [stdout]    --> src/page.rs:350:7
[INFO] [stdout]     |
[INFO] [stdout] 350 | const MI_MIN_SLICES: usize = 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_register_deferred_free` is never used
[INFO] [stdout]    --> src/page.rs:548:22
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub(crate) unsafe fn mi_register_deferred_free(fn_ptr: MiDeferredFreeFun) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_queue_is_special` is never used
[INFO] [stdout]   --> src/page_queue.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn mi_page_queue_is_special(pq: *const MiPageQueue) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_bin_size` is never used
[INFO] [stdout]   --> src/page_queue.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn mi_bin_size(bin: u8) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_good_size` is never used
[INFO] [stdout]   --> src/page_queue.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn mi_good_size(size: usize) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiHeapArea` is never constructed
[INFO] [stdout]   --> src/lib.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) struct MiHeapArea {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_queue_append` is never used
[INFO] [stdout]    --> src/page_queue.rs:269:22
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub(crate) unsafe fn mi_page_queue_append(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MiBlockVisitFun` is never used
[INFO] [stdout]   --> src/lib.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) type MiBlockVisitFun = fn(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_size` is never used
[INFO] [stdout]    --> src/segment.rs:405:11
[INFO] [stdout]     |
[INFO] [stdout] 405 | unsafe fn mi_page_size(page: *const MiPage) -> usize {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_malloc_small` is never used
[INFO] [stdout]   --> src/alloc.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | unsafe fn mi_malloc_small(size: usize) -> *mut u8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_zalloc_small` is never used
[INFO] [stdout]   --> src/alloc.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | unsafe fn mi_zalloc_small(size: usize) -> *mut u8 {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_zalloc` is never used
[INFO] [stdout]   --> src/alloc.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub unsafe fn mi_heap_zalloc(heap: *mut MiHeap, size: usize) -> *mut u8 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_INTPTR_SIZE` is never used
[INFO] [stdout]   --> src/types.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) const MI_INTPTR_SIZE: usize = 1 << MI_INTPTR_SHIFT;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_zalloc` is never used
[INFO] [stdout]   --> src/alloc.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub unsafe fn mi_zalloc(size: usize) -> *mut u8 {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_LARGE_PAGES_PER_SEGMENT` is never used
[INFO] [stdout]   --> src/types.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) const MI_LARGE_PAGES_PER_SEGMENT: usize = MI_SEGMENT_SIZE / MI_LARGE_PAGE_SIZE;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_usable_size` is never used
[INFO] [stdout]    --> src/alloc.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub unsafe fn mi_usable_size(p: *mut u8) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_collect` is never used
[INFO] [stdout]    --> src/heap.rs:195:11
[INFO] [stdout]     |
[INFO] [stdout] 195 | unsafe fn mi_heap_collect(heap: *mut MiHeap, force: bool) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `store` is never used
[INFO] [stdout]    --> src/types.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl MiThreadFree {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub(crate) fn store(&self, value: usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_collect` is never used
[INFO] [stdout]    --> src/heap.rs:206:11
[INFO] [stdout]     |
[INFO] [stdout] 206 | unsafe fn mi_collect(force: bool) {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStatCount` is never constructed
[INFO] [stdout]    --> src/types.rs:349:19
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub(crate) struct MiStatCount {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_get_default` is never used
[INFO] [stdout]    --> src/heap.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub(crate) fn mi_heap_get_default() -> *mut MiHeap {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStatCounter` is never constructed
[INFO] [stdout]    --> src/types.rs:357:19
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub(crate) struct MiStatCounter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_get_backing` is never used
[INFO] [stdout]    --> src/heap.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn mi_heap_get_backing() -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStats` is never constructed
[INFO] [stdout]    --> src/types.rs:363:19
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub(crate) struct MiStats {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_new` is never used
[INFO] [stdout]    --> src/heap.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn mi_heap_new() -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_reset_pages` is never used
[INFO] [stdout]    --> src/heap.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 | unsafe fn mi_heap_reset_pages(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_free` is never used
[INFO] [stdout]    --> src/heap.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | unsafe fn mi_heap_free(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_destroy_pages` is never used
[INFO] [stdout]    --> src/heap.rs:313:11
[INFO] [stdout]     |
[INFO] [stdout] 313 | unsafe fn mi_heap_destroy_pages(heap: *mut MiHeap) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_destroy` is never used
[INFO] [stdout]    --> src/heap.rs:323:4
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn mi_heap_destroy(heap: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_absorb` is never used
[INFO] [stdout]    --> src/heap.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn mi_heap_absorb(heap: *mut MiHeap, from: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_delete` is never used
[INFO] [stdout]    --> src/heap.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn mi_heap_delete(heap: *mut MiHeap) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_of_block` is never used
[INFO] [stdout]    --> src/heap.rs:416:4
[INFO] [stdout]     |
[INFO] [stdout] 416 | fn mi_heap_of_block(p: *const MiBlock) -> *mut MiHeap {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_contains_block` is never used
[INFO] [stdout]    --> src/heap.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn mi_heap_contains_block(heap: *mut MiHeap, p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_page_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn mi_heap_page_check_owned(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn mi_heap_check_owned(heap: *mut MiHeap, p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_check_owned` is never used
[INFO] [stdout]    --> src/heap.rs:475:4
[INFO] [stdout]     |
[INFO] [stdout] 475 | fn mi_check_owned(p: *const MiBlock) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiHeapAreaEx` is never constructed
[INFO] [stdout]    --> src/heap.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | struct MiHeapAreaEx {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_area_visit_blocks` is never used
[INFO] [stdout]    --> src/heap.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn mi_heap_area_visit_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MiHeapAreaVisitFun` is never used
[INFO] [stdout]    --> src/heap.rs:573:6
[INFO] [stdout]     |
[INFO] [stdout] 573 | type MiHeapAreaVisitFun = fn(heap: *mut MiHeap, area: *mut MiHeapAreaEx, arg: *mut u8) -> bool;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_areas_page` is never used
[INFO] [stdout]    --> src/heap.rs:575:4
[INFO] [stdout]     |
[INFO] [stdout] 575 | fn mi_heap_visit_areas_page(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_areas` is never used
[INFO] [stdout]    --> src/heap.rs:605:4
[INFO] [stdout]     |
[INFO] [stdout] 605 | fn mi_heap_visit_areas(heap: *mut MiHeap, visitor: *mut MiHeapAreaVisitFun, arg: *mut u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiVisitBlocksArgs` is never constructed
[INFO] [stdout]    --> src/heap.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | struct MiVisitBlocksArgs {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_area_visitor` is never used
[INFO] [stdout]    --> src/heap.rs:627:4
[INFO] [stdout]     |
[INFO] [stdout] 627 | fn mi_heap_area_visitor(heap: *mut MiHeap, xarea: *mut MiHeapAreaEx, arg: *mut u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_visit_blocks` is never used
[INFO] [stdout]    --> src/heap.rs:648:4
[INFO] [stdout]     |
[INFO] [stdout] 648 | fn mi_heap_visit_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_random_shuffle` is never used
[INFO] [stdout]    --> src/init.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn mi_random_shuffle(mut x: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_random_init` is never used
[INFO] [stdout]    --> src/init.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub(crate) fn mi_random_init(seed: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_is_default` is never used
[INFO] [stdout]   --> src/internal.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) fn mi_heap_is_default(heap: *const MiHeap) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_heap_is_backing` is never used
[INFO] [stdout]   --> src/internal.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) fn mi_heap_is_backing(heap: *const MiHeap) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/init.rs:39:28
[INFO] [stdout]     |
[INFO] [stdout]  39 |         unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] }
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pages_free_direct: MI_SMALL_PAGES_EMPTY!(),
[INFO] [stdout]     |                        ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_get_free_small_page` is never used
[INFO] [stdout]   --> src/internal.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn mi_get_free_small_page(size: usize) -> *mut MiPage {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_has_free` is never used
[INFO] [stdout]    --> src/internal.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub(crate) unsafe fn mi_page_has_free(page: *mut MiPage) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_all_used` is never used
[INFO] [stdout]    --> src/internal.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) unsafe fn mi_page_all_used(page: *mut MiPage) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MAX_SLICE_SHIFT` is never used
[INFO] [stdout]    --> src/page.rs:348:7
[INFO] [stdout]     |
[INFO] [stdout] 348 | const MI_MAX_SLICE_SHIFT: usize = 6; // At most 64 slices
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MAX_SLICES` is never used
[INFO] [stdout]    --> src/page.rs:349:7
[INFO] [stdout]     |
[INFO] [stdout] 349 | const MI_MAX_SLICES: usize = 1 << MI_MAX_SLICE_SHIFT;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_MIN_SLICES` is never used
[INFO] [stdout]    --> src/page.rs:350:7
[INFO] [stdout]     |
[INFO] [stdout] 350 | const MI_MIN_SLICES: usize = 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_register_deferred_free` is never used
[INFO] [stdout]    --> src/page.rs:548:22
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub(crate) unsafe fn mi_register_deferred_free(fn_ptr: MiDeferredFreeFun) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_queue_is_special` is never used
[INFO] [stdout]   --> src/page_queue.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) fn mi_page_queue_is_special(pq: *const MiPageQueue) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_bin_size` is never used
[INFO] [stdout]   --> src/page_queue.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn mi_bin_size(bin: u8) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_good_size` is never used
[INFO] [stdout]   --> src/page_queue.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn mi_good_size(size: usize) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_queue_append` is never used
[INFO] [stdout]    --> src/page_queue.rs:269:22
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub(crate) unsafe fn mi_page_queue_append(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mi_page_size` is never used
[INFO] [stdout]    --> src/segment.rs:405:11
[INFO] [stdout]     |
[INFO] [stdout] 405 | unsafe fn mi_page_size(page: *const MiPage) -> usize {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/init.rs:39:28
[INFO] [stdout]     |
[INFO] [stdout]  39 |         unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] }
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pages_free_direct: MI_SMALL_PAGES_EMPTY!(),
[INFO] [stdout]     |                        ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_INTPTR_SIZE` is never used
[INFO] [stdout]   --> src/types.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) const MI_INTPTR_SIZE: usize = 1 << MI_INTPTR_SHIFT;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MI_LARGE_PAGES_PER_SEGMENT` is never used
[INFO] [stdout]   --> src/types.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) const MI_LARGE_PAGES_PER_SEGMENT: usize = MI_SEGMENT_SIZE / MI_LARGE_PAGE_SIZE;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `store` is never used
[INFO] [stdout]    --> src/types.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl MiThreadFree {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub(crate) fn store(&self, value: usize) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStatCount` is never constructed
[INFO] [stdout]    --> src/types.rs:349:19
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub(crate) struct MiStatCount {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStatCounter` is never constructed
[INFO] [stdout]    --> src/types.rs:357:19
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub(crate) struct MiStatCounter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiStats` is never constructed
[INFO] [stdout]    --> src/types.rs:363:19
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub(crate) struct MiStats {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/init.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut x = mi_random_init as usize;
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut x = mi_random_init as *const () as usize;
[INFO] [stdout]     |                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/init.rs:39:28
[INFO] [stdout]     |
[INFO] [stdout]  39 |         unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] }
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pages_free_direct: MI_SMALL_PAGES_EMPTY!(),
[INFO] [stdout]     |                        ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:560:12
[INFO] [stdout]     |
[INFO] [stdout] 560 |       while !ABANDONED
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 561 | |         .compare_exchange(
[INFO] [stdout] 562 | |             segment,
[INFO] [stdout] 563 | |             (*segment).abandoned_next,
[INFO] [stdout] 564 | |             Ordering::Relaxed,
[INFO] [stdout] 565 | |             Ordering::SeqCst,
[INFO] [stdout] 566 | |         )
[INFO] [stdout]     | |_________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:569:37
[INFO] [stdout]     |
[INFO] [stdout] 569 |         (*segment).abandoned_next = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:571:5
[INFO] [stdout]     |
[INFO] [stdout] 571 |     ABANDONED_COUNT.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/init.rs:39:28
[INFO] [stdout]     |
[INFO] [stdout]  39 |         unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] }
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pages_free_direct: MI_SMALL_PAGES_EMPTY!(),
[INFO] [stdout]     |                        ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:594:18
[INFO] [stdout]     |
[INFO] [stdout] 594 |         atmost = ABANDONED_COUNT.load(Ordering::Relaxed) + 16;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:596:18
[INFO] [stdout]     |
[INFO] [stdout] 596 |         atmost = ABANDONED_COUNT.load(Ordering::Relaxed) / 8;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let mut segment = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:607:17
[INFO] [stdout]     |
[INFO] [stdout] 607 |               && !ABANDONED
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 608 | |                 .compare_exchange(
[INFO] [stdout] 609 | |                     segment,
[INFO] [stdout] 610 | |                     (*segment).abandoned_next,
[INFO] [stdout] 611 | |                     Ordering::Relaxed,
[INFO] [stdout] 612 | |                     Ordering::SeqCst,
[INFO] [stdout] 613 | |                 )
[INFO] [stdout]     | |_________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:616:23
[INFO] [stdout]     |
[INFO] [stdout] 616 |             segment = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout] 623 |         ABANDONED_COUNT.fetch_sub(1, Ordering::Relaxed);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/init.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut x = mi_random_init as usize;
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut x = mi_random_init as *const () as usize;
[INFO] [stdout]     |                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:560:12
[INFO] [stdout]     |
[INFO] [stdout] 560 |       while !ABANDONED
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 561 | |         .compare_exchange(
[INFO] [stdout] 562 | |             segment,
[INFO] [stdout] 563 | |             (*segment).abandoned_next,
[INFO] [stdout] 564 | |             Ordering::Relaxed,
[INFO] [stdout] 565 | |             Ordering::SeqCst,
[INFO] [stdout] 566 | |         )
[INFO] [stdout]     | |_________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:569:37
[INFO] [stdout]     |
[INFO] [stdout] 569 |         (*segment).abandoned_next = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:571:5
[INFO] [stdout]     |
[INFO] [stdout] 571 |     ABANDONED_COUNT.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:594:18
[INFO] [stdout]     |
[INFO] [stdout] 594 |         atmost = ABANDONED_COUNT.load(Ordering::Relaxed) + 16;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:596:18
[INFO] [stdout]     |
[INFO] [stdout] 596 |         atmost = ABANDONED_COUNT.load(Ordering::Relaxed) / 8;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 |         let mut segment = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:607:17
[INFO] [stdout]     |
[INFO] [stdout] 607 |               && !ABANDONED
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 608 | |                 .compare_exchange(
[INFO] [stdout] 609 | |                     segment,
[INFO] [stdout] 610 | |                     (*segment).abandoned_next,
[INFO] [stdout] 611 | |                     Ordering::Relaxed,
[INFO] [stdout] 612 | |                     Ordering::SeqCst,
[INFO] [stdout] 613 | |                 )
[INFO] [stdout]     | |_________________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:616:23
[INFO] [stdout]     |
[INFO] [stdout] 616 |             segment = ABANDONED.load(Ordering::Relaxed);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/segment.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout] 623 |         ABANDONED_COUNT.fetch_sub(1, Ordering::Relaxed);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.26s
[INFO] running `Command { std: "docker" "inspect" "a711efe72895d2f59b0c5c32569f0abc123d2d63e658408d8fbbe6b506871e68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a711efe72895d2f59b0c5c32569f0abc123d2d63e658408d8fbbe6b506871e68", kill_on_drop: false }`
[INFO] [stdout] a711efe72895d2f59b0c5c32569f0abc123d2d63e658408d8fbbe6b506871e68
